<?php
class Administrator_ProductcatController extends QSource_System_Controller_Action{
	public function init(){
		$this->loadTemplate('administrator');
	}
	public function indexAction(){ 
	    $model = new Model_ProductCat_ProductCat();
	    $data = $model->getAll();
	    Zend_View_Helper_PaginationControl::setDefaultViewPartial(APPLICATION_PATH.'\modules\administrator\views\pagination.phtml');
	    $pa = Zend_Paginator::factory($data);
	    $pa->setItemCountPerPage(10);
	    $current = $this->_request->getParam('page');
	    $this->view->page = $current;
	    $pa->setCurrentPageNumber($current);
	    $this->view->data = $pa;
	}	
	public function addAction(){ 
	    $model = new Model_ProductCat_ProductCat();
	    $checkDigits = new Zend_Validate_Digits();
	    if ($this->_request->isPost()) {
	    	$error = array();
	    	//Lấy thông tin của form post
	    	$data = $this->_request->getParams();
	    	if ($data['name'] == '')
	    		$error['name'] = ' Tên thể loại không được rỗng';
	    	if($data['alias']!='')
	    	{
	    		if($model->checkAlias($data['alias']))
	    			$error['alias'] = 'Đã tồn tại alias này';
	    	}
	    	//Kiểm tra lỗi - nếu có thì hiển thị lỗi - còn không save data lại
	    	if (count($error) > 0) {
	    		$this->view->error = $error;
	    		$this->view->data = $data;
	    	} else {
	    	    $toAlias = new QSource_System_Helper_String();
	    		if($data['alias']=='')
	    		{
	    		    $data['alias'] = $toAlias->vn_str_filter($data['name']);
	    		}
	    		else
	    		{
	    			$data['alias'] = $toAlias->vn_str_filter($data['alias']);
	    		}
	    		$item = array('name'=>$data['name'],'alias'=>$data['alias'],'web_keyword'=>$data['web_keyword'],'status'=>$data['status']);
	    		$model->insert($item);
	    		$this->view->success = 'Đã thêm thể loại mới thành công';
	    	}
	    }
	}
	public function editAction(){ 
	    $id = $this->_request->getParam('id', '');
	    if ($id == '')
	    	$this->_redirect('/administrator/webmaster');
	    $model = new Model_ProductCat_ProductCat();
	    $this->view->id = $id;
	    if ($this->_request->isPost()) 
	    {
	   		$error = array();
	   		
	    	$data = $this->_request->getParams();
	    	if ($data['name'] == '')
	    		$error['name'] = ' Tên thể loại không được rỗng';
	    	if($data['alias']!='')
	    	{
	    		if($model->checkAliasExceptId($id, $data['alias']))
	    			$error['alias'] = 'Đã tồn tại alias này';
	    	}
	    	// Kiểm tra và upload hình ảnh
	    	if (count($error) > 0) {
	    		$this->view->error = $error;
	    		//Fix lỗi hiển thị ảnh sai khi validate báo lỗi
	    		$item = $model->getItemId($id);
	    		$data['id'] = $id;
	    		$this->view->data = $data;
	    	} 
	    	else 
	    	{
	    	    $toAlias = new QSource_System_Helper_String();
	    		if($data['alias']=='')
	    		{
	    		    $data['alias'] = $toAlias->vn_str_filter($data['name']);
	    		}
	    		else
	    		{
	    			$data['alias'] = $toAlias->vn_str_filter($data['alias']);
	    		}
	    		
	    		$item = array('name'=>$data['name'],'alias'=>$data['alias'],'status'=>$data['status'],'web_keyword'=>$data['web_keyword'],'web_description'=>$data['web_description']);
	    		$model->update($item,'id ='.$id);
	    		$this->_redirect('/administrator/productcat');
	    	}
	        
	    } else {
	    	$data = $model->getItemId($id);
	    	$this->view->data = $data;
	    }
	}
	
	//Action search - result
	
	public function searchAction(){
		$keyword = $this->_request->getParam('keyword','');
		if($keyword == '')
			$this->_redirect('/administrator/productcat');
		$model = new Model_ProductCat_ProductCat();
		$data = $model->getAllStartWith($keyword);
		Zend_View_Helper_PaginationControl::setDefaultViewPartial(
		APPLICATION_PATH . '\modules\administrator\views\pagination.phtml');
		$pa = Zend_Paginator::factory($data);
		$pa->setItemCountPerPage(10);
		$current = $this->_request->getParam('page');
		$this->view->page = $current;
		$pa->setCurrentPageNumber($current);
		$this->view->data = $pa;
		$this->renderScript('productcat/index.phtml');
	}
	 
	//Data Email Json - Data autocomplete for jqueryui
	public function datanamejsonAction(){
		$model = new Model_ProductCat_ProductCat();
		$term = $this->_request->getParam('term','');
		if($term=='')
			$data = $model->getAll();
		else
			$data = $model->getAllStartWith($term);
		$this->view->data = $data;
		$this->_helper->layout->disableLayout();
	}
	
	public function removeAction ()
	{
		Zend_Layout::resetMvcInstance();
		$this->_helper->viewRenderer->setNoRender();
		$id = $this->_request->getParam('id', '');
		if ($id != '') {
		    $model = new Model_ProductCat_ProductCat();
		    
		    if(!$model->checkHaveProduct($id)){
				$item = $model->getItemId($id);
				$model->delete('id = ' . $id);
		    }
		}
	}
}